function a(x) {
    print(x);
    if (x++ < -1) {
        print(x)
        x++;
        print(x)
    }
}


a(-2000);
a(12345678912345)
ArkTools.jitCompileAsync(a);
let res = ArkTools.waitJitCompileFinish(a);
a(-12345678912345)

// print(1111111111111111)

// function a(x) {
//     if (x++ < -1) {
//         x++;  
//     }
//     return x
// }


// a(-200);
// a(12345678912345);
// ArkTools.jitCompileAsync(a);
// let res = ArkTools.waitJitCompileFinish(a);
// print(a(-12345678912345) == -12345678912343)

// function f1(x) {
//     x = x * 1.1;
//     let arr = new Int32Array(1);
//     arr[0] = x;
//     print(arr[0]);
// }

// f1(1.1);
// ArkTools.jitCompileAsync(f1);
// print(ArkTools.waitJitCompileFinish(f1));
// f1(2.2);

// // Test scenario: No deopt check when performing logic shift on a float value.
// function f2(x) {
//     x = x * 1.1;
//     let left = x << 1;
//     let right = x >> 1;
//     print("left shift result: ", left, " right shift result: ", right);
// }

// f2(1.1);
// ArkTools.jitCompileAsync(f2);
// print(ArkTools.waitJitCompileFinish(f2));
// f2(2.2);

// Test scenario: No deopt check when performing not on a float value.
// function f3(x) {
//     x = x * 1.1;
//     let y = ~x;
//     print(y);
// }

// f3(1.1);
// ArkTools.jitCompileAsync(f3);
// print(ArkTools.waitJitCompileFinish(f3));
// f3(2.2);


// Step 1: 生成一个浮点数
// function f4() {
//     let originalFloat = 42.9;
//     let intValue = originalFloat | 0; 
//     let floatValue = intValue * 1.0;
//     print(floatValue);
// }

// for (let i = 0; i < 5; i++) {
//     f4();
// }
// ArkTools.jitCompileAsync(f4);
// print(ArkTools.waitJitCompileFinish(f4));
// f4();
